<HTML>
<HEAD>
<TITLE>
EstrategiaBloques.cpp
</TITLE>
</HEAD>
<BODY>
<PRE>
<font color="blue">#include</font> <font color="maroon">"EstrategiaBloques.h"</font>

EstrategiaBloques<font color="black">:</font><font color="black">:</font>EstrategiaBloques<font color="black">(</font>Almacenamiento <font color="black">*</font><font color="black">*</font>persistencia,TipoAlmacenamiento tipo<font color="black">)</font><font color="black">{</font>

    <font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>posIni<font color="black">=</font><font color="maroon">0</font>;
    <font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>offset<font color="black">=</font><font color="maroon">0</font>;
    <font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>tipoA <font color="black">=</font> tipo;
    <font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>persistencia <font color="black">=</font> persistencia;
    
<font color="black">}</font>

<font color="blue">void</font> EstrategiaBloques<font color="black">:</font><font color="black">:</font>actulizarEspLibres<font color="black">(</font>Compuesto <font color="black">*</font>compuesto<font color="black">)</font><font color="black">{</font>

    vector<font color="black">&#60;</font><font color="blue">unsigned</font> <font color="blue">int</font><font color="black">&#62;</font><font color="black">:</font><font color="black">:</font>iterator it;
    <font color="blue">int</font> i;
    <font color="blue">unsigned</font> <font color="blue">int</font> esp;
    Bloque <font color="black">*</font>b;
    
    Buffer<font color="black">:</font><font color="black">:</font>getInstance<font color="black">(</font><font color="black">)</font><font color="black">-</font><font color="black">&#62;</font>getListEspaciosLibres<font color="black">(</font><font color="black">)</font><font color="black">-</font><font color="black">&#62;</font>clear<font color="black">(</font><font color="black">)</font>;
    
    <font color="blue">for</font> <font color="black">(</font>i<font color="black">=</font><font color="maroon">0</font>; i<font color="black">&#60;</font>compuesto<font color="black">-</font><font color="black">&#62;</font>getCantidadComponentes<font color="black">(</font><font color="black">)</font>; i<font color="black">+</font><font color="black">+</font><font color="black">)</font><font color="black">{</font>
        b<font color="black">=</font> <font color="black">(</font>Bloque<font color="black">*</font><font color="black">)</font>compuesto<font color="black">-</font><font color="black">&#62;</font>getComponenteAt<font color="black">(</font>i<font color="black">)</font>;
        esp<font color="black">=</font>b<font color="black">-</font><font color="black">&#62;</font>getTamanioLibre<font color="black">(</font><font color="black">)</font>;
        Buffer<font color="black">:</font><font color="black">:</font>getInstance<font color="black">(</font><font color="black">)</font><font color="black">-</font><font color="black">&#62;</font>getListEspaciosLibres<font color="black">(</font><font color="black">)</font><font color="black">-</font><font color="black">&#62;</font>push_back<font color="black">(</font>esp<font color="black">)</font>;
    <font color="black">}</font>

<font color="black">}</font>
        
<font color="blue">void</font> EstrategiaBloques<font color="black">:</font><font color="black">:</font>cargaInicialB<font color="black">(</font>vector<font color="black">&#60;</font>Dato<font color="black">*</font><font color="black">&#62;</font> listaDatos<font color="black">)</font><font color="black">{</font>
    
    Compuesto <font color="black">*</font>compuesto<font color="black">=</font> <font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>persistencia<font color="black">[</font><font color="maroon">0</font><font color="black">]</font><font color="black">-</font><font color="black">&#62;</font>getCompuesto<font color="black">(</font><font color="black">)</font>;
    Bloque <font color="black">*</font>bqmem;
    <font color="blue">int</font> i<font color="black">=</font><font color="maroon">0</font>;
    RegistroMemoria <font color="black">*</font>reg;
    <font color="blue">void</font> <font color="black">*</font>pos<font color="black">=</font> Buffer<font color="black">:</font><font color="black">:</font>getInstance<font color="black">(</font><font color="black">)</font><font color="black">-</font><font color="black">&#62;</font>getPointer<font color="black">(</font><font color="black">)</font>;
    <font color="blue">unsigned</font> <font color="blue">int</font> tam, offset<font color="black">=</font><font color="maroon">0</font>;
    
    bqmem<font color="black">=</font><font color="black">(</font>Bloque<font color="black">*</font><font color="black">)</font>compuesto<font color="black">-</font><font color="black">&#62;</font>getComponenteAt<font color="black">(</font>i<font color="black">)</font>;
    vector<font color="black">&#60;</font>Dato<font color="black">*</font><font color="black">&#62;</font><font color="black">:</font><font color="black">:</font>iterator it;
    <font color="blue">for</font> <font color="black">(</font>it<font color="black">=</font> listaDatos.begin<font color="black">(</font><font color="black">)</font>; it <font color="black">!</font><font color="black">=</font> listaDatos.end<font color="black">(</font><font color="black">)</font>; it<font color="black">+</font><font color="black">+</font><font color="black">)</font><font color="black">{</font>
        
        tam<font color="black">=</font> <font color="black">(</font><font color="black">*</font>it<font color="black">)</font><font color="black">-</font><font color="black">&#62;</font>getTamanio<font color="black">(</font>BINARIO<font color="black">)</font>;
        reg<font color="black">=</font> <font color="blue">new</font> RegistroMemoria<font color="black">(</font><font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>tipoMem, tam, pos, <font color="black">*</font>it<font color="black">)</font>;
        pos<font color="black">=</font> <font color="black">(</font><font color="blue">char</font><font color="black">*</font><font color="black">)</font>pos <font color="black">+</font> tam ; 
        offset<font color="black">+</font><font color="black">=</font>tam;
        <font color="blue">if</font> <font color="black">(</font>bqmem<font color="black">-</font><font color="black">&#62;</font>getTamanioLibre<font color="black">(</font><font color="black">)</font> <font color="black">&#60;</font> tam<font color="black">)</font><font color="black">{</font>
            offset<font color="black">=</font><font color="maroon">0</font>;
            i<font color="black">+</font><font color="black">+</font>;
            try<font color="black">{</font>
            bqmem<font color="black">=</font><font color="black">(</font>Bloque<font color="black">*</font><font color="black">)</font>compuesto<font color="black">-</font><font color="black">&#62;</font>getComponenteAt<font color="black">(</font>i<font color="black">)</font>;
            <font color="black">}</font> 
            <font color="blue">catch</font> <font color="black">(</font>exception <font color="black">*</font>e<font color="black">)</font><font color="black">{</font>
                <font color="blue">throw</font> e;
            <font color="black">}</font>
        <font color="black">}</font>
        <font color="black">(</font><font color="black">(</font>BloqueMemoria<font color="black">*</font><font color="black">)</font>bqmem<font color="black">)</font><font color="black">-</font><font color="black">&#62;</font>addComponente<font color="black">(</font>reg<font color="black">)</font>;
    <font color="black">}</font>
    
<font color="black">}</font>

<font color="blue">void</font> EstrategiaBloques<font color="black">:</font><font color="black">:</font>cargaInicialD<font color="black">(</font>vector<font color="black">&#60;</font>Dato<font color="black">*</font><font color="black">&#62;</font> listaDatos<font color="black">)</font><font color="black">{</font>

    Compuesto <font color="black">*</font>compuesto<font color="black">=</font> <font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>persistencia<font color="black">[</font><font color="maroon">0</font><font color="black">]</font><font color="black">-</font><font color="black">&#62;</font>getCompuesto<font color="black">(</font><font color="black">)</font>;
    Bloque <font color="black">*</font>bqd;
    <font color="blue">int</font> i<font color="black">=</font><font color="maroon">0</font>;
    RegistroDisco <font color="black">*</font>reg;
    <font color="blue">void</font> <font color="black">*</font>pos<font color="black">=</font> <font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>posIni;
    <font color="blue">unsigned</font> <font color="blue">int</font> tam;
    FILE<font color="black">*</font> fp<font color="black">=</font> <font color="black">(</font>FILE<font color="black">*</font><font color="black">)</font>pos;
        
    bqd<font color="black">=</font><font color="black">(</font>Bloque<font color="black">*</font><font color="black">)</font>compuesto<font color="black">-</font><font color="black">&#62;</font>getComponenteAt<font color="black">(</font>i<font color="black">)</font>;
    vector<font color="black">&#60;</font>Dato<font color="black">*</font><font color="black">&#62;</font><font color="black">:</font><font color="black">:</font>iterator it;
    <font color="blue">for</font> <font color="black">(</font>it<font color="black">=</font> listaDatos.begin<font color="black">(</font><font color="black">)</font>; it <font color="black">!</font><font color="black">=</font> listaDatos.end<font color="black">(</font><font color="black">)</font>; it<font color="black">+</font><font color="black">+</font><font color="black">)</font><font color="black">{</font>
        
        tam<font color="black">=</font> <font color="black">(</font><font color="black">*</font>it<font color="black">)</font><font color="black">-</font><font color="black">&#62;</font>getTamanio<font color="black">(</font>BINARIO<font color="black">)</font>;
        reg<font color="black">=</font> <font color="blue">new</font> RegistroDisco<font color="black">(</font><font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>tipoMem, tam, fp, <font color="black">*</font>it<font color="black">)</font>;
        pos<font color="black">=</font> <font color="black">(</font><font color="blue">char</font><font color="black">*</font><font color="black">)</font>pos <font color="black">+</font> tam ;
        fp<font color="black">=</font><font color="black">(</font>FILE<font color="black">*</font><font color="black">)</font>pos;
        fseek<font color="black">(</font>fp,<font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>offset,SEEK_SET<font color="black">)</font>;
        <font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>offset<font color="black">+</font><font color="black">=</font>tam;
        <font color="blue">if</font> <font color="black">(</font>bqd<font color="black">-</font><font color="black">&#62;</font>getTamanioLibre<font color="black">(</font><font color="black">)</font> <font color="black">&#60;</font> tam<font color="black">)</font><font color="black">{</font>
            <font color="green">//offset=0;</font>
            i<font color="black">+</font><font color="black">+</font>;
            bqd<font color="black">=</font> <font color="blue">new</font> BloqueDisco<font color="black">(</font><font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>tipoMem, Buffer<font color="black">:</font><font color="black">:</font>tamanioBloque, fp ,i<font color="black">)</font>;
            compuesto<font color="black">-</font><font color="black">&#62;</font>addComponente<font color="black">(</font>bqd<font color="black">)</font>;
        <font color="black">}</font>
        
        <font color="black">(</font><font color="black">(</font>BloqueDisco<font color="black">*</font><font color="black">)</font>bqd<font color="black">)</font><font color="black">-</font><font color="black">&#62;</font>addComponente<font color="black">(</font>reg<font color="black">)</font>;            
    <font color="black">}</font>

<font color="black">}</font>
        
<font color="blue">void</font> EstrategiaBloques<font color="black">:</font><font color="black">:</font>crear<font color="black">(</font>TipoMemoria tipo, std<font color="black">:</font><font color="black">:</font>vector<font color="black">&#60;</font>Dato<font color="black">*</font><font color="black">&#62;</font> listaDatos, <font color="blue">void</font> <font color="black">*</font>ptr<font color="black">)</font><font color="black">{</font>

    <font color="blue">unsigned</font> <font color="blue">int</font> i;
    <font color="blue">unsigned</font> <font color="blue">int</font> cBloques,cantidadBloques;
    Compuesto <font color="black">*</font>compuesto;
    BloqueMemoria <font color="black">*</font>bqm;
    BloqueDisco <font color="black">*</font>bqd;
    <font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>posIni <font color="black">=</font> ptr;
    <font color="blue">void</font> <font color="black">*</font>posAux;

    <font color="blue">if</font> <font color="black">(</font><font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>tipoA<font color="black">=</font><font color="black">=</font> BUFFER <font color="black">|</font><font color="black">|</font> <font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>tipoA <font color="black">=</font><font color="black">=</font> AMBOS<font color="black">)</font><font color="black">{</font>
        posAux <font color="black">=</font> Buffer<font color="black">:</font><font color="black">:</font>getInstance<font color="black">(</font><font color="black">)</font><font color="black">-</font><font color="black">&#62;</font>getPointer<font color="black">(</font><font color="black">)</font>;              
        cBloques<font color="black">=</font> Buffer<font color="black">:</font><font color="black">:</font>getInstance<font color="black">(</font><font color="black">)</font><font color="black">-</font><font color="black">&#62;</font>getTamanio<font color="black">(</font><font color="black">)</font><font color="black">/</font>Buffer<font color="black">:</font><font color="black">:</font>tamanioBloque; 
        compuesto<font color="black">=</font> <font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>persistencia<font color="black">[</font><font color="maroon">0</font><font color="black">]</font><font color="black">-</font><font color="black">&#62;</font>getCompuesto<font color="black">(</font><font color="black">)</font>;
        cantidadBloques<font color="black">=</font><font color="maroon">0</font>;
        <font color="blue">for</font> <font color="black">(</font>i<font color="black">=</font><font color="maroon">0</font>; i<font color="black">&#60;</font>cBloques; i<font color="black">+</font><font color="black">+</font><font color="black">)</font><font color="black">{</font>
        
            bqm<font color="black">=</font> <font color="blue">new</font> BloqueMemoria<font color="black">(</font>tipo, Buffer<font color="black">:</font><font color="black">:</font>tamanioBloque, i,posAux<font color="black">)</font>;
            compuesto<font color="black">-</font><font color="black">&#62;</font>addComponente<font color="black">(</font>bqm<font color="black">)</font>;
            cantidadBloques<font color="black">+</font><font color="black">+</font>;
            posAux <font color="black">=</font> <font color="black">(</font><font color="blue">char</font><font color="black">*</font><font color="black">)</font>Buffer<font color="black">:</font><font color="black">:</font>getInstance<font color="black">(</font><font color="black">)</font><font color="black">-</font><font color="black">&#62;</font>getPointer<font color="black">(</font><font color="black">)</font> <font color="black">+</font> Buffer<font color="black">:</font><font color="black">:</font>tamanioBloque;
        <font color="black">}</font>
        EstrategiaBloques<font color="black">:</font><font color="black">:</font>cargaInicialB<font color="black">(</font>listaDatos<font color="black">)</font>;
        <font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>persistencia<font color="black">[</font><font color="maroon">0</font><font color="black">]</font><font color="black">-</font><font color="black">&#62;</font>salvarTodo<font color="black">(</font>BINARIO<font color="black">)</font>;
    <font color="black">}</font>
    <font color="blue">if</font> <font color="black">(</font><font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>tipoA<font color="black">=</font><font color="black">=</font> ARCHIVO <font color="black">|</font><font color="black">|</font> <font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>tipoA <font color="black">=</font><font color="black">=</font> AMBOS<font color="black">)</font><font color="black">{</font>
        posAux <font color="black">=</font> <font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>posIni;
        compuesto<font color="black">=</font> <font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>persistencia<font color="black">[</font><font color="maroon">1</font><font color="black">]</font><font color="black">-</font><font color="black">&#62;</font>getCompuesto<font color="black">(</font><font color="black">)</font>;
        bqd<font color="black">=</font> <font color="blue">new</font> BloqueDisco<font color="black">(</font>tipo, Buffer<font color="black">:</font><font color="black">:</font>tamanioBloque, <font color="black">(</font>FILE<font color="black">*</font><font color="black">)</font>ptr ,<font color="maroon">0</font><font color="black">)</font>;
        compuesto<font color="black">-</font><font color="black">&#62;</font>addComponente<font color="black">(</font>bqm<font color="black">)</font>;
        EstrategiaBloques<font color="black">:</font><font color="black">:</font>cargaInicialD<font color="black">(</font>listaDatos<font color="black">)</font>;
        <font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>persistencia<font color="black">[</font><font color="maroon">1</font><font color="black">]</font><font color="black">-</font><font color="black">&#62;</font>salvarTodo<font color="black">(</font>BINARIO<font color="black">)</font>;
    <font color="black">}</font>
    
    actulizarEspLibres<font color="black">(</font>compuesto<font color="black">)</font>;

<font color="black">}</font>


        
<font color="blue">void</font> EstrategiaBloques<font color="black">:</font><font color="black">:</font>insertar<font color="black">(</font>Dato <font color="black">*</font>dato, <font color="blue">int</font><font color="black">*</font> nroComponente<font color="black">)</font><font color="black">{</font>
        Bloque <font color="black">*</font>b;
        Compuesto <font color="black">*</font>compuesto;
         <font color="blue">void</font><font color="black">*</font> pos;
         Registro <font color="black">*</font>reg;
                  <font color="blue">int</font> i;
        <font color="blue">if</font><font color="black">(</font>nroComponente<font color="black">=</font><font color="black">=</font>NULL<font color="black">)</font><font color="black">{</font>
             <font color="blue">if</font> <font color="black">(</font><font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>tipoA<font color="black">=</font><font color="black">=</font> BUFFER <font color="black">|</font><font color="black">|</font> <font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>tipoA <font color="black">=</font><font color="black">=</font> AMBOS<font color="black">)</font><font color="black">{</font>
                    compuesto<font color="black">=</font> <font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>persistencia<font color="black">[</font><font color="maroon">0</font><font color="black">]</font><font color="black">-</font><font color="black">&#62;</font>getCompuesto<font color="black">(</font><font color="black">)</font>;           
          
                    <font color="blue">for</font><font color="black">(</font>i<font color="black">=</font><font color="maroon">0</font>;i<font color="black">&#60;</font>compuesto<font color="black">-</font><font color="black">&#62;</font>getCantidadComponentes<font color="black">(</font><font color="black">)</font>;i<font color="black">+</font><font color="black">+</font><font color="black">)</font><font color="black">{</font>
                            <font color="blue">if</font><font color="black">(</font><font color="black">(</font><font color="black">(</font>Bloque<font color="black">*</font><font color="black">)</font>compuesto<font color="black">-</font><font color="black">&#62;</font>getComponenteAt<font color="black">(</font>i<font color="black">)</font><font color="black">)</font><font color="black">-</font><font color="black">&#62;</font>getTamanioLibre<font color="black">(</font><font color="black">)</font> <font color="black">&#62;</font><font color="black">=</font> dato<font color="black">-</font><font color="black">&#62;</font>getTamanio<font color="black">(</font>BINARIO<font color="black">)</font><font color="black">)</font>
                                  <font color="blue">break</font>;
                    <font color="black">}</font>                                                                       
                    <font color="blue">if</font><font color="black">(</font>i<font color="black">=</font><font color="black">=</font>compuesto<font color="black">-</font><font color="black">&#62;</font>getCantidadComponentes<font color="black">(</font><font color="black">)</font><font color="black">)</font><font color="black">{</font>
                           pos <font color="black">=</font> <font color="black">(</font><font color="blue">char</font><font color="black">*</font><font color="black">)</font>Buffer<font color="black">:</font><font color="black">:</font>getInstance<font color="black">(</font><font color="black">)</font><font color="black">-</font><font color="black">&#62;</font>getPointer<font color="black">(</font><font color="black">)</font> <font color="black">+</font> <font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>offset;                                                               
                           b <font color="black">=</font> <font color="blue">new</font> BloqueMemoria<font color="black">(</font><font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>tipoMem,Buffer<font color="black">:</font><font color="black">:</font>tamanioBloque, i, pos<font color="black">)</font>;
                           <font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>offset <font color="black">+</font><font color="black">=</font> dato<font color="black">-</font><font color="black">&#62;</font>getTamanio<font color="black">(</font>BINARIO<font color="black">)</font>;   
                           compuesto<font color="black">-</font><font color="black">&#62;</font>addComponente<font color="black">(</font>b<font color="black">)</font>;                                         
                    <font color="black">}</font>
                    <font color="black">*</font>nroComponente <font color="black">=</font> i;              
             <font color="black">}</font>
             <font color="blue">if</font> <font color="black">(</font><font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>tipoA<font color="black">=</font><font color="black">=</font> ARCHIVO <font color="black">|</font><font color="black">|</font> <font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>tipoA <font color="black">=</font><font color="black">=</font> AMBOS<font color="black">)</font><font color="black">{</font>
                               <font color="green">// mismo pero con disco</font>
                compuesto<font color="black">=</font> <font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>persistencia<font color="black">[</font><font color="maroon">0</font><font color="black">]</font><font color="black">-</font><font color="black">&#62;</font>getCompuesto<font color="black">(</font><font color="black">)</font>;           
    
                <font color="blue">for</font><font color="black">(</font>i<font color="black">=</font><font color="maroon">0</font>;i<font color="black">&#60;</font>compuesto<font color="black">-</font><font color="black">&#62;</font>getCantidadComponentes<font color="black">(</font><font color="black">)</font>;i<font color="black">+</font><font color="black">+</font><font color="black">)</font><font color="black">{</font>
                      <font color="blue">if</font><font color="black">(</font><font color="black">(</font><font color="black">(</font>Bloque<font color="black">*</font><font color="black">)</font>compuesto<font color="black">-</font><font color="black">&#62;</font>getComponenteAt<font color="black">(</font>i<font color="black">)</font><font color="black">)</font><font color="black">-</font><font color="black">&#62;</font>getTamanioLibre<font color="black">(</font><font color="black">)</font> <font color="black">&#62;</font><font color="black">=</font> dato<font color="black">-</font><font color="black">&#62;</font>getTamanio<font color="black">(</font>BINARIO<font color="black">)</font><font color="black">)</font>
                      <font color="blue">break</font>;
                <font color="black">}</font>                                                                       
                <font color="blue">if</font><font color="black">(</font>i<font color="black">=</font><font color="black">=</font>compuesto<font color="black">-</font><font color="black">&#62;</font>getCantidadComponentes<font color="black">(</font><font color="black">)</font><font color="black">)</font><font color="black">{</font>
                      FILE<font color="black">*</font> fp <font color="black">=</font> <font color="black">(</font>FILE<font color="black">*</font><font color="black">)</font>pos;                                      
                      fseek<font color="black">(</font>fp, <font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>offset, SEEK_SET<font color="black">)</font>;                  
                      b <font color="black">=</font> <font color="blue">new</font> BloqueDisco<font color="black">(</font><font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>tipoMem,Buffer<font color="black">:</font><font color="black">:</font>tamanioBloque, fp,i<font color="black">)</font>;
                      <font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>offset <font color="black">+</font><font color="black">=</font> dato<font color="black">-</font><font color="black">&#62;</font>getTamanio<font color="black">(</font>BINARIO<font color="black">)</font>;   
                      compuesto<font color="black">-</font><font color="black">&#62;</font>addComponente<font color="black">(</font>b<font color="black">)</font>;                                         
                <font color="black">}</font>
                <font color="black">*</font>nroComponente <font color="black">=</font> i;       
                   
             <font color="black">}</font>                           
        <font color="black">}</font>
       
        <font color="blue">if</font> <font color="black">(</font><font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>tipoA<font color="black">=</font><font color="black">=</font> BUFFER <font color="black">|</font><font color="black">|</font> <font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>tipoA <font color="black">=</font><font color="black">=</font> AMBOS<font color="black">)</font><font color="black">{</font>
            compuesto<font color="black">=</font> <font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>persistencia<font color="black">[</font><font color="maroon">0</font><font color="black">]</font><font color="black">-</font><font color="black">&#62;</font>getCompuesto<font color="black">(</font><font color="black">)</font>;
            
            try<font color="black">{</font>
            b <font color="black">=</font> <font color="black">(</font>Bloque<font color="black">*</font><font color="black">)</font>compuesto<font color="black">-</font><font color="black">&#62;</font>getComponenteAt<font color="black">(</font><font color="black">*</font>nroComponente<font color="black">)</font>;
            <font color="black">}</font><font color="blue">catch</font> <font color="black">(</font>exception <font color="black">*</font>e<font color="black">)</font><font color="black">{</font>
                <font color="blue">throw</font> e;
            <font color="black">}</font>
            pos <font color="black">=</font> <font color="black">(</font><font color="blue">char</font><font color="black">*</font><font color="black">)</font>Buffer<font color="black">:</font><font color="black">:</font>getInstance<font color="black">(</font><font color="black">)</font><font color="black">-</font><font color="black">&#62;</font>getPointer<font color="black">(</font><font color="black">)</font> <font color="black">+</font> <font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>offset;
            reg<font color="black">=</font> <font color="blue">new</font> RegistroMemoria<font color="black">(</font><font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>tipoMem, dato<font color="black">-</font><font color="black">&#62;</font>getTamanio<font color="black">(</font>BINARIO<font color="black">)</font>, pos, dato<font color="black">)</font>;
            b<font color="black">-</font><font color="black">&#62;</font>addComponente<font color="black">(</font>reg<font color="black">)</font>;
            reg<font color="black">-</font><font color="black">&#62;</font>escribir<font color="black">(</font>BINARIO<font color="black">)</font>;   
            actulizarEspLibres<font color="black">(</font>compuesto<font color="black">)</font>;     
        <font color="black">}</font>
        <font color="blue">if</font> <font color="black">(</font><font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>tipoA<font color="black">=</font><font color="black">=</font> ARCHIVO <font color="black">|</font><font color="black">|</font> <font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>tipoA <font color="black">=</font><font color="black">=</font> AMBOS<font color="black">)</font><font color="black">{</font>
            compuesto<font color="black">=</font> <font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>persistencia<font color="black">[</font><font color="maroon">1</font><font color="black">]</font><font color="black">-</font><font color="black">&#62;</font>getCompuesto<font color="black">(</font><font color="black">)</font>;
            
            try<font color="black">{</font>
            b <font color="black">=</font> <font color="black">(</font>Bloque<font color="black">*</font><font color="black">)</font>compuesto<font color="black">-</font><font color="black">&#62;</font>getComponenteAt<font color="black">(</font><font color="black">*</font>nroComponente<font color="black">)</font>;
            <font color="black">}</font><font color="blue">catch</font> <font color="black">(</font>exception <font color="black">*</font>e<font color="black">)</font><font color="black">{</font>
                <font color="blue">throw</font> e;
            <font color="black">}</font>
            FILE<font color="black">*</font>fp <font color="black">=</font> <font color="black">(</font>FILE<font color="black">*</font><font color="black">)</font>pos;
            fseek<font color="black">(</font>fp, <font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>offset, SEEK_SET<font color="black">)</font>;         
            reg<font color="black">=</font> <font color="blue">new</font> RegistroDisco<font color="black">(</font><font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>tipoMem, dato<font color="black">-</font><font color="black">&#62;</font>getTamanio<font color="black">(</font>BINARIO<font color="black">)</font>, fp, dato<font color="black">)</font>;
            b<font color="black">-</font><font color="black">&#62;</font>addComponente<font color="black">(</font>reg<font color="black">)</font>;
            reg<font color="black">-</font><font color="black">&#62;</font>escribir<font color="black">(</font>BINARIO<font color="black">)</font>;
            
            actulizarEspLibres<font color="black">(</font>compuesto<font color="black">)</font>;
        <font color="black">}</font>
<font color="black">}</font>
        
<font color="blue">void</font> EstrategiaBloques<font color="black">:</font><font color="black">:</font>leer<font color="black">(</font>Dato <font color="black">*</font>dato, <font color="blue">int</font> nroBloque<font color="black">)</font><font color="black">{</font>

    Bloque <font color="black">*</font>compuesto;
    Compuesto <font color="black">*</font>compuestoAux;
    <font color="blue">unsigned</font> <font color="blue">int</font> tam, pos;
    Registro <font color="black">*</font>raux;

    <font color="blue">if</font> <font color="black">(</font><font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>tipoA<font color="black">=</font><font color="black">=</font> BUFFER <font color="black">|</font><font color="black">|</font> <font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>tipoA <font color="black">=</font><font color="black">=</font> AMBOS<font color="black">)</font><font color="black">{</font>
        compuestoAux<font color="black">=</font> <font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>persistencia<font color="black">[</font><font color="maroon">0</font><font color="black">]</font><font color="black">-</font><font color="black">&#62;</font>getCompuesto<font color="black">(</font><font color="black">)</font>;
        compuesto<font color="black">=</font><font color="black">(</font>Bloque<font color="black">*</font><font color="black">)</font>compuestoAux<font color="black">-</font><font color="black">&#62;</font>getComponenteAt<font color="black">(</font>nroBloque<font color="black">)</font>;
        ubicar<font color="black">(</font>compuesto,dato,<font color="black">&</font>pos, <font color="black">&</font>tam,BINARIO<font color="black">)</font>;
        raux<font color="black">=</font><font color="black">(</font>RegistroMemoria<font color="black">*</font><font color="black">)</font>compuesto<font color="black">-</font><font color="black">&#62;</font>getComponenteAt<font color="black">(</font>pos<font color="black">)</font>;
        <font color="black">(</font><font color="black">(</font>RegistroMemoria<font color="black">*</font><font color="black">)</font>raux<font color="black">)</font><font color="black">-</font><font color="black">&#62;</font>leer<font color="black">(</font>dato,BINARIO<font color="black">)</font>;
        <font color="blue">return</font>;     
    <font color="black">}</font>
    <font color="blue">if</font> <font color="black">(</font><font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>tipoA<font color="black">=</font><font color="black">=</font> ARCHIVO <font color="black">|</font><font color="black">|</font> <font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>tipoA <font color="black">=</font><font color="black">=</font> AMBOS<font color="black">)</font><font color="black">{</font>
        compuestoAux<font color="black">=</font> <font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>persistencia<font color="black">[</font><font color="maroon">1</font><font color="black">]</font><font color="black">-</font><font color="black">&#62;</font>getCompuesto<font color="black">(</font><font color="black">)</font>;
        compuesto<font color="black">=</font><font color="black">(</font>Bloque<font color="black">*</font><font color="black">)</font>compuestoAux<font color="black">-</font><font color="black">&#62;</font>getComponenteAt<font color="black">(</font>nroBloque<font color="black">)</font>;
        ubicar<font color="black">(</font>compuesto,dato,<font color="black">&</font>pos, <font color="black">&</font>tam,BINARIO<font color="black">)</font>;
        raux<font color="black">=</font><font color="black">(</font>RegistroDisco<font color="black">*</font><font color="black">)</font>compuesto<font color="black">-</font><font color="black">&#62;</font>getComponenteAt<font color="black">(</font>pos<font color="black">)</font>;
        <font color="black">(</font><font color="black">(</font>RegistroDisco<font color="black">*</font><font color="black">)</font>raux<font color="black">)</font><font color="black">-</font><font color="black">&#62;</font>leer<font color="black">(</font>dato,BINARIO<font color="black">)</font>;
    <font color="black">}</font>
<font color="black">}</font>
        
<font color="blue">void</font> EstrategiaBloques<font color="black">:</font><font color="black">:</font>modificar<font color="black">(</font>Dato <font color="black">*</font>daux, <font color="blue">int</font> bOrig,  <font color="blue">int</font> <font color="black">*</font>bDest<font color="black">)</font><font color="black">{</font>
        
   <font color="blue">unsigned</font> <font color="blue">int</font> pos;
   <font color="blue">unsigned</font> <font color="blue">int</font> tam;
   <font color="blue">void</font> <font color="black">*</font>posAux;
   Bloque <font color="black">*</font>b;
   Compuesto <font color="black">*</font>compuesto;
   Registro <font color="black">*</font>reg;
   try<font color="black">{</font>     
        <font color="blue">if</font> <font color="black">(</font><font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>tipoMem<font color="black">=</font><font color="black">=</font> FIJA<font color="black">)</font><font color="black">{</font>
           <font color="blue">if</font><font color="black">(</font><font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>tipoA<font color="black">=</font><font color="black">=</font>BUFFER <font color="black">|</font><font color="black">|</font> <font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>tipoA<font color="black">=</font><font color="black">=</font>AMBOS<font color="black">)</font><font color="black">{</font>  
                compuesto<font color="black">=</font> <font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>persistencia<font color="black">[</font><font color="maroon">0</font><font color="black">]</font><font color="black">-</font><font color="black">&#62;</font>getCompuesto<font color="black">(</font><font color="black">)</font>;                                
                b <font color="black">=</font> <font color="black">(</font>Bloque<font color="black">*</font><font color="black">)</font>compuesto<font color="black">-</font><font color="black">&#62;</font>getComponenteAt<font color="black">(</font>bOrig<font color="black">)</font>;                  
                ubicar<font color="black">(</font>b, daux,<font color="black">&</font>pos, <font color="black">&</font>tam,BINARIO<font color="black">)</font>;
                reg<font color="black">=</font><font color="black">(</font>RegistroMemoria<font color="black">*</font><font color="black">)</font>b<font color="black">-</font><font color="black">&#62;</font>getComponenteAt<font color="black">(</font>pos<font color="black">)</font>;
                reg<font color="black">-</font><font color="black">&#62;</font>getAccesoDato<font color="black">(</font><font color="black">&</font>posAux<font color="black">)</font>;<font color="green">//</font>
                reg<font color="black">-</font><font color="black">&#62;</font>escribir<font color="black">(</font>posAux,daux,BINARIO<font color="black">)</font>;
           <font color="black">}</font>                            
           <font color="blue">if</font><font color="black">(</font><font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>tipoA<font color="black">=</font><font color="black">=</font>ARCHIVO <font color="black">|</font><font color="black">|</font> <font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>tipoA<font color="black">=</font><font color="black">=</font>AMBOS<font color="black">)</font><font color="black">{</font>  
                compuesto<font color="black">=</font> <font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>persistencia<font color="black">[</font><font color="maroon">1</font><font color="black">]</font><font color="black">-</font><font color="black">&#62;</font>getCompuesto<font color="black">(</font><font color="black">)</font>;                  
                b <font color="black">=</font> <font color="black">(</font>Bloque<font color="black">*</font><font color="black">)</font>compuesto<font color="black">-</font><font color="black">&#62;</font>getComponenteAt<font color="black">(</font>bOrig<font color="black">)</font>;                  
                ubicar<font color="black">(</font>b, daux,<font color="black">&</font>pos, <font color="black">&</font>tam,BINARIO<font color="black">)</font>;
                reg<font color="black">=</font><font color="black">(</font>RegistroMemoria<font color="black">*</font><font color="black">)</font>b<font color="black">-</font><font color="black">&#62;</font>getComponenteAt<font color="black">(</font>pos<font color="black">)</font>;
                reg<font color="black">-</font><font color="black">&#62;</font>getAccesoDato<font color="black">(</font><font color="black">&</font>posAux<font color="black">)</font>;<font color="green">//</font>
                reg<font color="black">-</font><font color="black">&#62;</font>escribir<font color="black">(</font>posAux,daux,BINARIO<font color="black">)</font>;
           <font color="black">}</font>                                                        
           <font color="black">*</font>bDest <font color="black">=</font> bOrig;                 
           <font color="blue">return</font>;                 
        <font color="black">}</font>        
        <font color="green">// si llega aca es variable</font>
        <font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>eliminar<font color="black">(</font>daux,bOrig<font color="black">)</font>;
        <font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>insertar<font color="black">(</font>daux, bDest<font color="black">)</font>;
     <font color="black">}</font>    
     <font color="blue">catch</font><font color="black">(</font>exception <font color="black">*</font>e<font color="black">)</font><font color="black">{</font>
         <font color="blue">throw</font> e;
     <font color="black">}</font>
     
     actulizarEspLibres<font color="black">(</font>compuesto<font color="black">)</font>;
<font color="black">}</font>
        
<font color="blue">void</font> EstrategiaBloques<font color="black">:</font><font color="black">:</font>eliminar<font color="black">(</font>Dato <font color="black">*</font>daux, <font color="blue">int</font> nroComponente<font color="black">)</font><font color="black">{</font>
    
    Bloque <font color="black">*</font>compuesto;
    Compuesto <font color="black">*</font>compuestoAux;
    <font color="blue">unsigned</font> <font color="blue">int</font> tam, pos;
    Registro <font color="black">*</font>reg;
    <font color="blue">int</font> i;
    <font color="blue">void</font> <font color="black">*</font>posAux;
     <font color="green">///ACA PUEDO PONER UN FOR 1 O 2...  XQ ES LO MISMO </font>
    <font color="blue">if</font> <font color="black">(</font><font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>tipoA<font color="black">=</font><font color="black">=</font> BUFFER <font color="black">|</font><font color="black">|</font> <font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>tipoA <font color="black">=</font><font color="black">=</font> AMBOS<font color="black">)</font><font color="black">{</font>
            compuestoAux<font color="black">=</font> <font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>persistencia<font color="black">[</font><font color="maroon">0</font><font color="black">]</font><font color="black">-</font><font color="black">&#62;</font>getCompuesto<font color="black">(</font><font color="black">)</font>;
            compuesto<font color="black">=</font><font color="black">(</font>Bloque<font color="black">*</font><font color="black">)</font>compuestoAux<font color="black">-</font><font color="black">&#62;</font>getComponenteAt<font color="black">(</font>nroComponente<font color="black">)</font>;
            ubicar<font color="black">(</font>compuesto,daux,<font color="black">&</font>pos, <font color="black">&</font>tam,BINARIO<font color="black">)</font>;
            reg <font color="black">=</font> <font color="black">(</font>Registro<font color="black">*</font><font color="black">)</font>compuesto<font color="black">-</font><font color="black">&#62;</font>getComponenteAt<font color="black">(</font>pos<font color="black">)</font>;
            reg<font color="black">-</font><font color="black">&#62;</font>borrar<font color="black">(</font><font color="black">)</font>;
            compuesto<font color="black">-</font><font color="black">&#62;</font>deleteComponentAt<font color="black">(</font>pos<font color="black">)</font>;
            <font color="blue">for</font><font color="black">(</font>i<font color="black">=</font>pos;i<font color="black">&#60;</font>compuesto<font color="black">-</font><font color="black">&#62;</font>getCantidadComponentes<font color="black">(</font><font color="black">)</font>;i<font color="black">+</font><font color="black">+</font><font color="black">)</font><font color="black">{</font>
                reg <font color="black">=</font> <font color="black">(</font>Registro<font color="black">*</font><font color="black">)</font>compuesto <font color="black">-</font><font color="black">&#62;</font>getComponenteAt<font color="black">(</font>i<font color="black">)</font>;
                reg<font color="black">-</font><font color="black">&#62;</font>getAccesoDato<font color="black">(</font><font color="black">&</font>posAux<font color="black">)</font>;<font color="green">//</font>
                posAux <font color="black">=</font> <font color="black">(</font><font color="blue">char</font><font color="black">*</font><font color="black">)</font> posAux <font color="black">-</font>tam;
                reg<font color="black">-</font><font color="black">&#62;</font>escribir<font color="black">(</font>posAux,BINARIO<font color="black">)</font>;
            <font color="black">}</font>
                 
    <font color="black">}</font>
    <font color="blue">if</font> <font color="black">(</font><font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>tipoA<font color="black">=</font><font color="black">=</font> ARCHIVO <font color="black">|</font><font color="black">|</font> <font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>tipoA <font color="black">=</font><font color="black">=</font> AMBOS<font color="black">)</font><font color="black">{</font>
        compuestoAux<font color="black">=</font> <font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>persistencia<font color="black">[</font><font color="maroon">1</font><font color="black">]</font><font color="black">-</font><font color="black">&#62;</font>getCompuesto<font color="black">(</font><font color="black">)</font>;
        compuesto<font color="black">=</font><font color="black">(</font>Bloque<font color="black">*</font><font color="black">)</font>compuestoAux<font color="black">-</font><font color="black">&#62;</font>getComponenteAt<font color="black">(</font>nroComponente<font color="black">)</font>;
        ubicar<font color="black">(</font>compuesto,daux,<font color="black">&</font>pos, <font color="black">&</font>tam,BINARIO<font color="black">)</font>;
            reg <font color="black">=</font> <font color="black">(</font>Registro<font color="black">*</font><font color="black">)</font>compuesto<font color="black">-</font><font color="black">&#62;</font>getComponenteAt<font color="black">(</font>pos<font color="black">)</font>;
            reg<font color="black">-</font><font color="black">&#62;</font>borrar<font color="black">(</font><font color="black">)</font>;
            compuesto<font color="black">-</font><font color="black">&#62;</font>deleteComponentAt<font color="black">(</font>pos<font color="black">)</font>;
            <font color="blue">for</font><font color="black">(</font>i<font color="black">=</font>pos;i<font color="black">&#60;</font>compuesto<font color="black">-</font><font color="black">&#62;</font>getCantidadComponentes<font color="black">(</font><font color="black">)</font>;i<font color="black">+</font><font color="black">+</font><font color="black">)</font><font color="black">{</font>
                reg <font color="black">=</font> <font color="black">(</font>Registro<font color="black">*</font><font color="black">)</font>compuesto <font color="black">-</font><font color="black">&#62;</font>getComponenteAt<font color="black">(</font>i<font color="black">)</font>;
                reg<font color="black">-</font><font color="black">&#62;</font>getAccesoDato<font color="black">(</font><font color="black">&</font>posAux<font color="black">)</font>;<font color="green">//</font>
                posAux <font color="black">=</font> <font color="black">(</font><font color="blue">char</font><font color="black">*</font><font color="black">)</font> posAux <font color="black">-</font>tam;
                reg<font color="black">-</font><font color="black">&#62;</font>escribir<font color="black">(</font>posAux,BINARIO<font color="black">)</font>;
            <font color="black">}</font>   
    <font color="black">}</font>
    actulizarEspLibres<font color="black">(</font>compuestoAux<font color="black">)</font>;

<font color="black">}</font>

<font color="blue">void</font> EstrategiaBloques<font color="black">:</font><font color="black">:</font>buscar<font color="black">(</font>Dato <font color="black">*</font><font color="black">*</font>dato, <font color="blue">int</font> nroBloque, <font color="blue">unsigned</font> <font color="blue">long</font> <font color="blue">int</font> clave,TipoSerializacion tipoSerializacion,PrimaryKey <font color="black">*</font>PK<font color="black">)</font><font color="black">{</font>
     Compuesto <font color="black">*</font>compuestoAux;
     <font color="blue">if</font> <font color="black">(</font><font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>tipoA<font color="black">=</font><font color="black">=</font> BUFFER<font color="black">)</font>
         compuestoAux<font color="black">=</font> <font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>persistencia<font color="black">[</font><font color="maroon">0</font><font color="black">]</font><font color="black">-</font><font color="black">&#62;</font>getCompuesto<font color="black">(</font><font color="black">)</font>;                   
     <font color="blue">else</font>
         compuestoAux<font color="black">=</font> <font color="blue">this</font><font color="black">-</font><font color="black">&#62;</font>persistencia<font color="black">[</font><font color="maroon">1</font><font color="black">]</font><font color="black">-</font><font color="black">&#62;</font>getCompuesto<font color="black">(</font><font color="black">)</font>;                   
     Bloque <font color="black">*</font>compuesto <font color="black">=</font> <font color="black">(</font>Bloque<font color="black">*</font><font color="black">)</font> compuestoAux<font color="black">-</font><font color="black">&#62;</font>getComponenteAt<font color="black">(</font>nroBloque<font color="black">)</font>;
     <font color="blue">int</font> i;
     <font color="blue">for</font><font color="black">(</font>i<font color="black">=</font><font color="maroon">0</font>;i<font color="black">&#60;</font>compuesto<font color="black">-</font><font color="black">&#62;</font>getCantidadComponentes<font color="black">(</font><font color="black">)</font>;i<font color="black">+</font><font color="black">+</font><font color="black">)</font><font color="black">{</font>
         Dato <font color="black">*</font>datoAux<font color="black">=</font>NULL;
         compuesto<font color="black">-</font><font color="black">&#62;</font>getComponenteAt<font color="black">(</font>i<font color="black">)</font><font color="black">-</font><font color="black">&#62;</font>leer<font color="black">(</font>datoAux,tipoSerializacion<font color="black">)</font>;                                               
         <font color="blue">void</font><font color="black">*</font> datoSerializado<font color="black">=</font>NULL;
         datoAux<font color="black">-</font><font color="black">&#62;</font>serialize<font color="black">(</font><font color="black">&</font>datoSerializado,tipoSerializacion<font color="black">)</font>;
         <font color="blue">unsigned</font> <font color="blue">long</font> <font color="blue">int</font> claveAux;
         <font color="blue">int</font> aux;
         <font color="blue">char</font> <font color="black">*</font>strClave <font color="black">=</font> PK<font color="black">-</font><font color="black">&#62;</font>GetKey<font color="black">(</font><font color="black">(</font><font color="blue">char</font><font color="black">*</font><font color="black">)</font>datoSerializado,aux<font color="black">)</font>;
         claveAux <font color="black">=</font> <font color="black">(</font><font color="blue">unsigned</font> <font color="blue">long</font> <font color="blue">int</font><font color="black">)</font> atol<font color="black">(</font>strClave<font color="black">)</font>;  
         free<font color="black">(</font>datoSerializado<font color="black">)</font>;
         <font color="blue">if</font><font color="black">(</font>claveAux<font color="black">=</font><font color="black">=</font>clave<font color="black">)</font><font color="black">{</font>
              datoAux<font color="black">-</font><font color="black">&#62;</font>clone<font color="black">(</font><font color="black">*</font>dato<font color="black">)</font>;      
              <font color="blue">return</font>;             
         <font color="black">}</font>
     <font color="black">}</font>   
     <font color="black">*</font>dato<font color="black">=</font>NULL;
<font color="black">}</font>

EstrategiaBloques<font color="black">:</font><font color="black">:</font>~EstrategiaBloques<font color="black">(</font><font color="black">)</font><font color="black">{</font>

<font color="black">}</font>

</PRE>
</BODY>
</HTML>
